package cn.tedu.rms.tables.pojo.vo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

public class TimeTest {
    public static void main(String[] args) {
        Date date = new Date();

        // 默认时区
        SimpleDateFormat sdfLocal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("系统默认时区时间:"+sdfLocal.format(date));

        // 使用SimpleDateFormat和UTC时区打印UTC时间
        SimpleDateFormat sdfUTC = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sdfUTC.setTimeZone(TimeZone.getTimeZone("UTC"));
        System.out.println("UTC时间:"+sdfUTC.format(date));
        // 使用SimpleDateFormat和GMT时区打印GMT时间
        SimpleDateFormat sdfGMT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sdfGMT.setTimeZone(TimeZone.getTimeZone("GMT"));
        System.out.println("GMT时间:"+sdfGMT.format(date));

        // 美国/纽约时间
        SimpleDateFormat sdfAmerica = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sdfAmerica.setTimeZone(TimeZone.getTimeZone("America/New_York"));
        System.out.println("美国/纽约时间:"+sdfAmerica.format(date));

        // 东八区时间（其中的时区ID还可以是"Asia/Shanghai"或"Asia/Beijing"）
        SimpleDateFormat sdfGMT8 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sdfGMT8.setTimeZone(TimeZone.getTimeZone("GMT+8"));
        System.out.println("东八区时间:"+sdfGMT8.format(date));

        //字符串--->Date
        String timeStr = "1970-01-01 00:00:00";
        try {
            Date timeStrDateLocal = sdfLocal.parse(timeStr);
            System.out.println(timeStrDateLocal);//Thu Jan 01 00:00:00 CST 1970
            Date timeStrDateGMT = sdfGMT.parse(timeStr);//Thu Jan 01 08:00:00 CST 1970
            System.out.println(timeStrDateGMT);
            //获取时间戳（单位：ms）
            long timeLocal = timeStrDateLocal.getTime();
            System.out.println(timeLocal);//-28800000
            long timeGMT = timeStrDateGMT.getTime();
            System.out.println(timeGMT);//0
        } catch (ParseException e) {
            e.printStackTrace();
        }




    }
}
